package city.spring.modules.medicine.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 实体类：药品库存表
 *
 * @author 谢金婷
 * @date 2020-12-28 16:16:29
 */
@Data
@TableName("medicine_quantity")
public class MedicineQuantityEntity implements Serializable {

    /**
     * 药品编号
     */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 药品编码
     */
    private String code;

    /**
     * 药品名称
     */
    private String medicineId;

    /**
     * 所属类别
     */
    private String category;

    /**
     * 类型
     */
    private String type;

    /**
     * 规格型号
     */
    private String specifications;

    /**
     * 剂量单位
     */
    private String dosageunit;

    /**
     * 单位
     */
    private String unit;

    /**
     * 药品描述
     */
    private String description;

    /**
     * 单价
     */
    private BigDecimal unitprice;

    /**
     * 供应商
     */
    private String supplierId;

    /**
     * 生产日期
     */
    private LocalDate productiondate;

    /**
     * 有效期
     */
    private LocalDate expirationdate;

    /**
     * 仓库名称
     */
    private String storehouseId;

    /**
     * 入库数量
     */
    private BigDecimal warehousingquantity;

    /**
     * 出库数量
     */
    private BigDecimal deliveryquantity;

    /**
     * 总库存数量
     */
    private BigDecimal quantity;

    /**
     * 盘点入库数量
     */
    private BigDecimal warehousingInventoryAmount;

    /**
     * 盘点出库数量
     */
    private BigDecimal deliveryInventoryAmount;

    /**
     * 入库时间
     */
    private LocalDate warehousedate;

    /**
     * 安全库存上限
     */
    private BigDecimal upperWarningvalue;

    /**
     * 安全库存下限
     */
    private BigDecimal lowerWarningvalue;

    /**
     * 创建时间
     */
    @TableField(insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER)
    private LocalDateTime gmtCreate;

    /**
     * 修改时间
     */
    @TableField(insertStrategy = FieldStrategy.NEVER, updateStrategy = FieldStrategy.NEVER)
    private LocalDateTime gmtModified;
}